package com.info.zhiduoduo.repository.entity.crowdsource;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 智众包项目批量代付记录
 * </p>
 *
 * @author bob
 * @since 2019-09-25
 */
@Data
@Accessors(chain = true)
@TableName("zdd_crowdsource_trade_record")
public class CrowdsourceTradeRecord extends Model<CrowdsourceTradeRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * 批量代付id
     */
    @TableId(value = "batch_id", type = IdType.AUTO)
    private Integer batchId;
    /**
     * 商户批次号，全局唯一
     */
    @TableField("batch_no")
    private String batchNo;
    /**
     * 项目id
     */
    private Integer projectid;
    /**
     * 企业id
     */
    private Integer compid;
    /**
     * 代付的商户id （等于zdd_payment 的 source_id）
     */
    private Integer merchantid;
    /**
     * 请求流水
     */
    private String requestid;
    /**
     * 总条数
     */
    @TableField("total_count")
    private Integer totalCount;
    /**
     * 总成功条数
     */
    @TableField("total_succ_count")
    private Integer totalSuccCount;
    /**
     * 总失败条数
     */
    @TableField("total_fail_count")
    private Integer totalFailCount;
    /**
     * 总成功金额
     */
    @TableField("total_succ_amount")
    private BigDecimal totalSuccAmount;
    /**
     * 总失败金额
     */
    @TableField("total_fail_amount")
    private BigDecimal totalFailAmount;
//    /**
//     * 支付账户: 1:九歌统一账户 2:企业自己商户号 3:得仕武圣 4:传化武圣
//     */
//    private Integer payAccount;
    /**
     * 是否已经重新提交交易 0：否 1：是
     */
    private Integer repay;
    /**
     * 批次状态 0：已提交，1：开联通审核不通过 2：拆分中 3：已拆分 4: 批次失败 5:处理中 6:已处理 7：已回盘
     */
    @TableField("batch_status")
    private Integer batchStatus;
    /**
     * 000000：接口响应正常，其它表示失败（此接口为异步，支付结果等回调通知或者查询接口）
     */
    @TableField("response_code")
    private String responseCode;
    /**
     * 响应信息
     */
    @TableField("response_msg")
    private String responseMsg;
    /**
     * 交易结束时间
     */
    private Date finishtime;
    /**
     * 逻辑删除 0：正常 1：已删除
     */
    @TableLogic
    private Integer deleted;
    /**
     * 创建时间
     */
    private Date createtime;
    /**
     * 更新时间
     */
    private Date updatetime;

    @ApiModelProperty("支付方式id(表zdd_payment)")
    @TableField("pay_id")
    private Integer payId;


    @Override
    protected Serializable pkVal() {
        return this.batchId;
    }

}
